#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <sys/wait.h>

int main(int argc,char *argv[])
{
    int status;
    pid_t pid = fork();

    if(pid == 0) {
        //sleep(5); 开启注释，wait函数将会发生等待--在子进程结束之前，一直等待，直到产生返回值
        return 3;
    } else {
        printf("子进程PID : %d \n", pid);
        pid = fork();
        if(pid == 0) {
            //sleep(5);
            exit(7);
        } else {
            printf("第二个子进程PID : %d \n", pid);
            wait(&status);
            if(WIFEXITED(status)) {
                printf("子进程返回值 : %d \n", WEXITSTATUS(status));
            }

            wait(&status);
            if(WIFEXITED(status)) {
                printf("子进程返回值2 : %d \n", WEXITSTATUS(status));
            }
            sleep(30);
        }
    }

    return 0;
}